home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
tex
/
texsrc.arc
/
TEX0.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
48KB
|
2,068 lines
overlay "tex0"
#define EXTERN extern
#include "texd.h"
initialize () { r_initialize
quarterword i ;
integer k ;
hyphpointer z ;
xchr [ 32 ] = ' ' ;
xchr [ 33 ] = '!' ;
xchr [ 34 ] = '"' ;
xchr [ 35 ] = '#' ;
xchr [ 36 ] = '$' ;
xchr [ 37 ] = '%' ;
xchr [ 38 ] = '&' ;
xchr [ 39 ] = '\'' ;
xchr [ 40 ] = '(' ;
xchr [ 41 ] = ')' ;
xchr [ 42 ] = '*' ;
xchr [ 43 ] = '+' ;
xchr [ 44 ] = ',' ;
xchr [ 45 ] = '-' ;
xchr [ 46 ] = '.' ;
xchr [ 47 ] = '/' ;
xchr [ 48 ] = '0' ;
xchr [ 49 ] = '1' ;
xchr [ 50 ] = '2' ;
xchr [ 51 ] = '3' ;
xchr [ 52 ] = '4' ;
xchr [ 53 ] = '5' ;
xchr [ 54 ] = '6' ;
xchr [ 55 ] = '7' ;
xchr [ 56 ] = '8' ;
xchr [ 57 ] = '9' ;
xchr [ 58 ] = ':' ;
xchr [ 59 ] = ';' ;
xchr [ 60 ] = '<' ;
xchr [ 61 ] = '=' ;
xchr [ 62 ] = '>' ;
xchr [ 63 ] = '?' ;
xchr [ 64 ] = '@' ;
xchr [ 65 ] = 'A' ;
xchr [ 66 ] = 'B' ;
xchr [ 67 ] = 'C' ;
xchr [ 68 ] = 'D' ;
xchr [ 69 ] = 'E' ;
xchr [ 70 ] = 'F' ;
xchr [ 71 ] = 'G' ;
xchr [ 72 ] = 'H' ;
xchr [ 73 ] = 'I' ;
xchr [ 74 ] = 'J' ;
xchr [ 75 ] = 'K' ;
xchr [ 76 ] = 'L' ;
xchr [ 77 ] = 'M' ;
xchr [ 78 ] = 'N' ;
xchr [ 79 ] = 'O' ;
xchr [ 80 ] = 'P' ;
xchr [ 81 ] = 'Q' ;
xchr [ 82 ] = 'R' ;
xchr [ 83 ] = 'S' ;
xchr [ 84 ] = 'T' ;
xchr [ 85 ] = 'U' ;
xchr [ 86 ] = 'V' ;
xchr [ 87 ] = 'W' ;
xchr [ 88 ] = 'X' ;
xchr [ 89 ] = 'Y' ;
xchr [ 90 ] = 'Z' ;
xchr [ 91 ] = '[' ;
xchr [ 92 ] = '\\' ;
xchr [ 93 ] = ']' ;
xchr [ 94 ] = '^' ;
xchr [ 95 ] = '_' ;
xchr [ 96 ] = '`' ;
xchr [ 97 ] = 'a' ;
xchr [ 98 ] = 'b' ;
xchr [ 99 ] = 'c' ;
xchr [ 100 ] = 'd' ;
xchr [ 101 ] = 'e' ;
xchr [ 102 ] = 'f' ;
xchr [ 103 ] = 'g' ;
xchr [ 104 ] = 'h' ;
xchr [ 105 ] = 'i' ;
xchr [ 106 ] = 'j' ;
xchr [ 107 ] = 'k' ;
xchr [ 108 ] = 'l' ;
xchr [ 109 ] = 'm' ;
xchr [ 110 ] = 'n' ;
xchr [ 111 ] = 'o' ;
xchr [ 112 ] = 'p' ;
xchr [ 113 ] = 'q' ;
xchr [ 114 ] = 'r' ;
xchr [ 115 ] = 's' ;
xchr [ 116 ] = 't' ;
xchr [ 117 ] = 'u' ;
xchr [ 118 ] = 'v' ;
xchr [ 119 ] = 'w' ;
xchr [ 120 ] = 'x' ;
xchr [ 121 ] = 'y' ;
xchr [ 122 ] = 'z' ;
xchr [ 123 ] = '{' ;
xchr [ 124 ] = '|' ;
xchr [ 125 ] = '}' ;
xchr [ 126 ] = '~' ;
xchr [ 0 ] = ' ' ;
xchr [ 127 ] = ' ' ;
for ( i = 1 ; i <= 31 ; i ++ )
xchr [ i ] = chr ( i ) ;
for ( i = 0 ; i <= 127 ; i ++ )
xord [ chr ( i ) ] = 127 ;
for ( i = 1 ; i <= 126 ; i ++ )
xord [ xchr [ i ] ] = i ;
interaction = 3 ;
deletionsall = true ;
errorcount = 0 ;
helpptr = 0 ;
useerrhelp = false ;
interrupt = 0 ;
OKtointerrup = true ;
#ifdef DEBUG
wasmemend = memmin ;
waslomax = memmin ;
washimin = memmax ;
panicking = false ;
#endif /* DEBUG */
nestptr = 0 ;
maxneststack = 0 ;
curlist .modefield = 1 ;
curlist .headfield = memtop - 1 ;
curlist .tailfield = memtop - 1 ;
curlist .auxfield = - 65536000 ;
curlist .mlfield = 0 ;
curlist .pgfield = 0 ;
shownmode = 0 ;
pagecontents = 0 ;
pagetail = memtop - 2 ;
mem [(long) memtop - 2 ] .hh .v.RH = 0 ;
lastglue = 65535L ;
lastpenalty = 0 ;
lastkern = 0 ;
pagesofar [ 7 ] = 0 ;
pagemaxdepth = 0 ;
for ( k = 5267 ; k <= 5976 ; k ++ )
xeqlevel [ k ] = 1 ;
nonewcontrol = true ;
hash [ 258 ] .v.LH = 0 ;
hash [ 258 ] .v.RH = 0 ;
for ( k = 259 ; k <= 3524 ; k ++ )
hash [ k ] = hash [ 258 ] ;
saveptr = 0 ;
curlevel = 1 ;
curgroup = 0 ;
curboundary = 0 ;
maxsavestack = 0 ;
magset = 0 ;
curmark [ 0 ] = 0 ;
curmark [ 1 ] = 0 ;
curmark [ 2 ] = 0 ;
curmark [ 3 ] = 0 ;
curmark [ 4 ] = 0 ;
curval = 0 ;
curvallevel = 0 ;
radix = 0 ;
for ( k = 0 ; k <= 16 ; k ++ )
readopen [ k ] = 2 ;
condptr = 0 ;
iflimit = 0 ;
curif = 0 ;
ifline = 0 ;
TEXformatdef = " plain.fmt" ;
for ( k = 0 ; k <= fontmax ; k ++ )
fontused [ k ] = false ;
nullcharacte .b0 = 0 ;
nullcharacte .b1 = 0 ;
nullcharacte .b2 = 0 ;
nullcharacte .b3 = 0 ;
totalpages = 0 ;
maxv = 0 ;
maxh = 0 ;
maxpush = 0 ;
lastbop = - 1 ;
doingleaders = false ;
deadcycles = 0 ;
curs = - 1 ;
halfbuf = dvibufsize / 2 ;
dvilimit = dvibufsize ;
dviptr = 0 ;
dvioffset = 0 ;
dvigone = 0 ;
downptr = 0 ;
rightptr = 0 ;
adjusttail = 0 ;
packbeginlin = 0 ;
emptyfield .v.RH = 0 ;
emptyfield .v.LH = 0 ;
nulldelimite .b0 = 0 ;
nulldelimite .b1 = 0 ;
nulldelimite .b2 = 0 ;
nulldelimite .b3 = 0 ;
alignptr = 0 ;
curalign = 0 ;
curspan = 0 ;
curloop = 0 ;
curhead = 0 ;
curtail = 0 ;
for ( z = 0 ; z <= 307 ; z ++ )
{
hyphword [ z ] = 0 ;
hyphlist [ z ] = 0 ;
}
hyphcount = 0 ;
outputactive = false ;
insertpenalt = 0 ;
aftertoken = 0 ;
longhelpseen = false ;
formatident = 0 ;
for ( k = 0 ; k <= 17 ; k ++ )
writeopen [ k ] = false ;
editnamestar = 0 ;
#ifdef INITEX
for ( k = 1 ; k <= 19 ; k ++ )
mem [(long) k ] .cint = 0 ;
k = 0 ;
while ( k <= 19 ) {
mem [(long) k ] .hh .v.RH = 1 ;
mem [(long) k ] .hh.b0 = 0 ;
mem [(long) k ] .hh.b1 = 0 ;
k = k + 4 ;
}
mem [(long) 6 ] .cint = 65536L ;
mem [(long) 4 ] .hh.b0 = 1 ;
mem [(long) 10 ] .cint = 65536L ;
mem [(long) 8 ] .hh.b0 = 2 ;
mem [(long) 14 ] .cint = 65536L ;
mem [(long) 12 ] .hh.b0 = 1 ;
mem [(long) 15 ] .cint = 65536L ;
mem [(long) 12 ] .hh.b1 = 1 ;
mem [(long) 18 ] .cint = - 65536L ;
mem [(long) 16 ] .hh.b0 = 1 ;
rover = 20 ;
mem [(long) rover ] .hh .v.RH = 65535L ;
mem [(long) rover ] .hh .v.LH = 1000 ;
mem [(long) rover + 1 ] .hh .v.LH = rover ;
mem [(long) rover + 1 ] .hh .v.RH = rover ;
lomemmax = rover + 1000 ;
mem [(long) lomemmax ] .hh .v.RH = 0 ;
mem [(long) lomemmax ] .hh .v.LH = 0 ;
for ( k = memtop - 13 ; k <= memtop ; k ++ )
mem [(long) k ] = mem [(long) lomemmax ] ;
mem [(long) memtop - 10 ] .hh .v.LH = 7359 ;
mem [(long) memtop - 9 ] .hh .v.RH = 256 ;
mem [(long) memtop - 9 ] .hh .v.LH = 0 ;
mem [(long) memtop - 7 ] .hh.b0 = 1 ;
mem [(long) memtop - 6 ] .hh .v.LH = 65535L ;
mem [(long) memtop - 7 ] .hh.b1 = 0 ;
mem [(long) memtop ] .hh.b1 = 255 ;
mem [(long) memtop ] .hh.b0 = 1 ;
mem [(long) memtop ] .hh .v.RH = memtop ;
mem [(long) memtop - 2 ] .hh.b0 = 10 ;
mem [(long) memtop - 2 ] .hh.b1 = 0 ;
avail = 0 ;
memend = memtop ;
himemmin = memtop - 13 ;
varused = 20 ;
dynused = 14 ;
eqtb [ 3525 ] .hh.b0 = 100 ;
eqtb [ 3525 ] .hh .v.RH = 0 ;
eqtb [ 3525 ] .hh.b1 = 0 ;
for ( k = 1 ; k <= 3524 ; k ++ )
eqtb [ k ] = eqtb [ 3525 ] ;
eqtb [ 3526 ] .hh .v.RH = 0 ;
eqtb [ 3526 ] .hh.b1 = 1 ;
eqtb [ 3526 ] .hh.b0 = 116 ;
for ( k = 3527 ; k <= 4055 ; k ++ )
eqtb [ k ] = eqtb [ 3526 ] ;
mem [(long) 0 ] .hh .v.RH = mem [(long) 0 ] .hh .v.RH + 530 ;
eqtb [ 4056 ] .hh .v.RH = 0 ;
eqtb [ 4056 ] .hh.b0 = 117 ;
eqtb [ 4056 ] .hh.b1 = 1 ;
for ( k = 4057 ; k <= 4321 ; k ++ )
eqtb [ k ] = eqtb [ 3525 ] ;
eqtb [ 4322 ] .hh .v.RH = 0 ;
eqtb [ 4322 ] .hh.b0 = 118 ;
eqtb [ 4322 ] .hh.b1 = 1 ;
for ( k = 4323 ; k <= 4577 ; k ++ )
eqtb [ k ] = eqtb [ 4322 ] ;
eqtb [ 4578 ] .hh .v.RH = 0 ;
eqtb [ 4578 ] .hh.b0 = 119 ;
eqtb [ 4578 ] .hh.b1 = 1 ;
for ( k = 4579 ; k <= 4626 ; k ++ )
eqtb [ k ] = eqtb [ 4578 ] ;
eqtb [ 4627 ] .hh .v.RH = 0 ;
eqtb [ 4627 ] .hh.b0 = 119 ;
eqtb [ 4627 ] .hh.b1 = 1 ;
for ( k = 4628 ; k <= 5266 ; k ++ )
eqtb [ k ] = eqtb [ 4627 ] ;
for ( k = 0 ; k <= 127 ; k ++ )
{
eqtb [ 4627 + k ] .hh .v.RH = 12 ;
eqtb [ 5139 + k ] .hh .v.RH = k ;
eqtb [ 5011 + k ] .hh .v.RH = 1000 ;
}
eqtb [ 4640 ] .hh .v.RH = 5 ;
eqtb [ 4659 ] .hh .v.